This invention relates to optimisation of the delivery of computer media over a network of computers. It relates particularly but not exclusively to a method of optimising delivery of computer media and a system for efficient delivery of media over a computer network, using software agents known as personal software assistants and associated user preferences files and media data files.
There are often problems associated with developing and maintaining a spontaneous online community on a network such as the Internet. Each user may want to share with other users certain files such as documents, databases, sound files, movies, images, and spreadsheets. For the sake of convenience, all such files are hereinafter referred to as xe2x80x9ccomputer mediaxe2x80x9d or xe2x80x9cmedia itemsxe2x80x9d. However, it is often difficult to determine which other users will want to receive particular media items, and it is often difficult to ascertain whether a particular media item is the latest available version.
For example, in the case of a person who has recently become a father for the first time, he may want to collect and share media items relating to his child such as images, stories, announcements, voice recordings and video. He has a wide circle of friends with whom he would like to share these media items. He could attempt to include the files as attachments in e-mail messages; however he would quickly discover that the people to whom he was sending the media items would be annoyed to be spending significant time downloading large binary files when they had simply popped online to check their e-mail. Moreover, mail routers have non-consistent limits to the size of e-mail messages, and in any event it would be difficult to keep track of who has which media items already, which media items they were interested in, or even which media items they had the capability of viewing or processing.
In any group work such as a project team in a corporation or enterprise, documents which are shared typically develop over several versions. The originator of a project plan, for example, will refine the plan into newer versions. If appropriate version control software is being used, the members of the project group are notified as soon as the new versions are created. This type of new version notification would be helpful in the scenario described above.
Typically in most groupware systems, all shared documents are stored on a server. The server may create a bottleneck on the network when the users make too many concurrent accesses to the documents. It would be helpful to allow organisations to strike a balance between their need to protect their server resources and their users"" desire to be free to associate and share information. It would be helpful if, when a user wishes to share a document that resides on his or her PC, he or she could do so without moving it to the server, lessening the demand for server disk space.
It would also be helpful in the scenario described above for the user, upon receiving a media item of a type which he or she finds useful or desirable, to be able to specify a desire for receiving or being notified of similar types of media item in the future.
U.S. Pat. No. 5,799,318 describes a method and apparatus for collecting and displaying information from diverse computer resources. For each piece of information an item is created describing the information and referring to an attached file. Each item is grouped into a selected view for a particular user. Changes or additions in information are determined and indicated with respect to each user. This enables the creation of some sort of order out of the chaos of a number of unrelated or loosely related information files, and solves the version control problem, but results only in the cataloguing of information, not in the pro-active discovery of relevant information or the optimisation of the delivery of media items.
U.S. Pat. No. 5,655,081 described a system for monitoring and managing computer resources and applications across a distributed computing environment using an intelligent autonomous agent architecture. A manager software system runs on a networked computer system designated as a network management computer system or a xe2x80x9cconsolexe2x80x9d system. An agent software system runs on each of the server computer systems in the network to be monitored. Each respective agent software system carries out tasks on the computer system on which it is installed such as discovering which resources and applications are present on the computer system, monitoring particular aspects of the resources and applications present on the computer system, and executing recovery actions automatically when such actions are warranted. The agents are capable of intelligent autonomous operation. The system described includes several useful features; however, it is not directed towards solving the problems described in the scenario above. In particular, it is not directed towards the optimisation of the delivery of computer media.
According to a first aspect of the present invention there is provided a method of optimising delivery of computer media over a network of computers, including the steps of:
(a) creating an annotation record for each item of computer media;
(b) including within the annotation record at least some of the following classes of information:
(i) an identification of the computer on which the media item was created or introduced to the network
(ii) identifications of one or more computers on which a copy of the media item is presently located
(iii) an identification list of computers which have established a computer link to the media item
(iv) an identification list of computer users who have personal software assistants which have established a computer link to the media item
(v) an indication enabling version control of the media item
(vi) one or more indications as to the subject matter of the media item; and
(c) whenever a media item is updated or deleted, updating the corresponding annotation record and forwarding a notification record to each computer or a personal software assistant of each computer user on the network which has a computer link to the media item.
The updating or deletion notification may be forwarded to other computers in any suitable manner. It may be forwarded in the form of e-mail; alternatively, each computer user may have an associated data record which maintains details of the media to which the user has computer links, and the updating or deletion notification may be posted directly to the user""s data record. The user""s data record may also include information concerning the user""s media item preferences.
The method described above may include the further steps of:
(a) creating one or more preferences records for one or more computers or computer users on the network;
(b) including within the preferences records indications as to preferred subject matter of media items, based on one or more of the following:
(i) preferences expressly indicated by the computer user
(ii) preferences ascertained from the subject matter of media items to which the computer or computer user has previously established computer links
(iii) preferences ascertained from the subject matter of media searches conducted on the computer or by the computer user; and
(c) providing each computer or computer user with access to a new or modified media item whenever that media item relates to a subject matter which is included in the computer""s or computer user""s preferences record. The step of providing access to a new or modified media item may be accomplished by any suitable means. In one preferred arrangement, the step is done by means of a search for new or modified media of relevant subject matter which is conducted whenever the computer or computer user comes on-line or in some other periodical manner, followed by establishing a computer link to the media items located in the search. In an alternative arrangement, the step of providing access to a new or modified media item is done whenever a media item is created or modified, by means of a search for preferences records which indicate a preference for subject matter corresponding to the subject matter of the new or modified media item, followed by the step of forwarding a notification record to the computer or computer user associated with each preferences record located in the search.
The network of computers may include one or more intermediate computers which may include personal software assistant servers located in the network between other computers such that at least some of the media items travel from an originating computer through an intermediate computer to a requesting computer. In such a case, one or more media items may be cached in one or more of the intermediate computers, and a request from a requesting computer for a media item may be satisfied from a cached copy on an intermediate computer in preference to establishing a communications path all the way to the originating computer, thereby reducing the total amount of traffic necessary on the network, particularly when the media item is requested frequently.
When a particular request for a media item cannot be satisfied by a particular computer as a result of the computer being off-line or the media item having been deleted from that computer, the request can be passed to another computer in the network having a copy of the media item.
New or updated media items may be downloaded to one or more computers which have links to those media items at any suitable times. Particularly suitable times include:
(i) during off-peak times for traffic on the network;
(ii) when specifically requested by those computers; or
(iii) at times previously designated by those computers.
According to a second aspect of the invention, there is provided a method of selectively providing computer media to a computer user on a computer connected to a network, including the steps of:
(a) creating a preferences record for the computer user;
(b) including within the preferences records indications as to preferred subject matter of media items, based on one or more of the following:
(i) preferences expressly indicated by the computer user
(ii) preferences ascertained from the subject matter of media items to which the computer user has previously established computer links
(iii) preferences ascertained from the subject matter of media searches conducted by the computer user; and
(c) providing the computer user with access to a new or modified media item whenever that media item relates to a subject matter which is included in the computer user""s preferences record.
The step of providing access to a new or modified media item may be accomplished in any suitable manner. In one preferred arrangement, this is done by means of a search for new or modified media items of relevant subject matter which is conducted whenever the computer or computer user comes on-line or in some other periodical manner, followed by establishing a computer link to the media items located in the search. In an alternative arrangement, the step of providing access to a new or modified media item is done whenever a media item is created or modified, by means of a search for preferences records which indicate a preference for subject matter corresponding to the subject matter of the new or modified media item, followed by the step of forwarding a notification record to the computer or computer user associated with each preferences record located in the search.
According to a third aspect of the invention there is provided a system for efficient delivery of computer media over a network of computers, including:
(a) one or more software agents associated with one or more computers on the network;
(b) one or more preferences records associated with each software agent, each preferences record including indications as to preferred subject matter of media items for a computer user, based on one or more of the following:
(iii) preferences expressly indicated by the computer user
(iv) preferences ascertained from the subject matter of media items to which the computer user has previously established computer links
(v) preferences ascertained from the subject matter of media searches conducted by the computer user;
(c) a plurality of computer media items located on computers on the network, each media item have associated with it one or more indications of subject matter;
wherein a software agent provides a computer user with access to a new or modified media item whenever that media item relates to a subject matter which is included in the computer user""s preferences record.
According to a fourth aspect of the invention, there is provided a system for efficient delivery of computer media over a network of computers, including:
(a) a plurality of computer media items located on computers on the network;
(b) an annotation record for each media item on a computer, each annotation record including at least some of the following classes of information:
(i) an identification of the computer on which the media item was created or introduced to the network
(ii) identifications of one or more computers on which a copy of the media item is presently located
(iii) an identification list of computers which have established a computer link to the media item
(iv) an identification list of computer users who have personal software assistants which have established a computer link to the media item
(v) an indication enabling version control of the media item
(vi) one or more indications as to the subject matter of the media item; and
(c) a software agent associated with each computer which has annotation records;
wherein, whenever a media item is updated or deleted, the software agent associated with the corresponding annotation record updates the annotation record and forwards a notification record to each computer or a personal software assistant of each computer user on the network which has a computer link to the media item.
According to a fifth aspect of the invention, there is provided a system for efficient delivery of computer media over a network of computers operated by a plurality of computer users, including:
(a) a plurality of computer media items located on computers on the network;
(b) an annotation record for each media item on a computer, each annotation record including at least some of the following classes of information:
(i) an identification of the computer on which the media item was created or introduced to the network
(ii) identifications of one or more computers on which a copy of the media item is presently located
(iii) an identification list of computers which have established a computer link to the media item
(iv) an identification list of computer users who have a personal software agent which has established a computer link to the media item
(v) an indication enabling version control of the media item
(vi) one or more indications as to the subject matter of the media item;
(c) a media software agent associated with each computer which has media items on it;
(d) a personal software agent associated with each computer user; and
(e) one or more preferences records associated with each personal software agent, each preferences record including indications as to preferred subject matter of media items for a computer user, based on one or more of the following:
(i) preferences expressly indicated by the computer user
(ii) preferences ascertained from the subject matter of media items to which the computer user has previously established computer links
(iii) preferences ascertained from the subject matter of media searches conducted by the computer user;
wherein a computer user""s personal software agent co-operates with the media software agents to provide the computer user with access to a new or modified media item whenever that media item relates to a subject matter which is included in the computer user""s preferences record and whenever the annotation record corresponding to the media item indicates that the computer user has a computer link to the media item.